The following relates to the image processing, image presentation, photofinishing, and related arts.
The rise of digital photography and digital video has empowered amateur and professional photographers and cinematographers to perform photographic and video processing previously requiring expensive and complex darkroom facilities. Today, even amateur photographers can readily use home computers running photofinishing software to perform operations such as image cropping, brightness, contrast, and other image adjustments, merging of images, resolution adjustment, and so forth.
One task that has largely eluded such persons, however, is effective color adjustment. The difficulty is not lack of available tools—to the contrary, most image processing software provides a wide range of color adjustments such as color balance, hue, saturation, intensity, and so forth, typically with fine control such as independent channel adjustment capability for the various channels (e.g., the red, green, and blue channels in an RGB color space). The difficulty is that effective use of these color adjustment tools presupposes a level of color science knowledge and expertise that is beyond the capability of most amateur photographers and cinematographers, and even beyond the capability of some professionals. Additionally, using such color adjustment tools can be time-consuming, especially when dealing with long sequences of video frames or other large image collections.
Accordingly, there has been interest in the automation and simplification of color adjustment processing. One approach that has been to make standard color adjustments for certain color regions. For example, the color space may be broken up into palette regions, e.g. a red region, an orange region, a yellow region, and so forth, and a standard adjustment applied to image pixels in each palette region, such as a standard adjustment for pixels in the red region that shifts the pixel toward orange by a predetermined amount. Such adjustments can be performed relatively safely. For example, using a suitable transform it can be ensured that a reddish pixel will remain reddish after adjustment. To ensure a safe color transform, the color adjustment of each pixel can be bounded to remain within the palette region of the pixel.
These existing approaches are relatively inflexible. It is difficult to modify the transforms to accommodate different personal color preferences, or different images under adjustment, or other deviations from the general characteristics of the training images based upon which the transform was constructed. There is typically no intuitive way for the user to modify the color palette or transforms to adapt the color adjustment system to different personal color preferences, or different images under adjustment, or other deviations.